[INFO] cloning repository https://github.com/dmytroleonenko/sudoku_rs_core
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dmytroleonenko/sudoku_rs_core" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdmytroleonenko%2Fsudoku_rs_core", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdmytroleonenko%2Fsudoku_rs_core'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f7c65400931c1fe091e181ccf83af570e264b054
[INFO] testing dmytroleonenko/sudoku_rs_core against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdmytroleonenko%2Fsudoku_rs_core" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/dmytroleonenko/sudoku_rs_core
[INFO] finished tweaking git repo https://github.com/dmytroleonenko/sudoku_rs_core
[INFO] tweaked toml for git repo https://github.com/dmytroleonenko/sudoku_rs_core written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dmytroleonenko/sudoku_rs_core on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dmytroleonenko/sudoku_rs_core already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 07c2448c001f28091dc1bb7dddc0563321ad89aa2063bff365e2d3d55408a318
[INFO] running `Command { std: "docker" "start" "-a" "07c2448c001f28091dc1bb7dddc0563321ad89aa2063bff365e2d3d55408a318", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "07c2448c001f28091dc1bb7dddc0563321ad89aa2063bff365e2d3d55408a318", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "07c2448c001f28091dc1bb7dddc0563321ad89aa2063bff365e2d3d55408a318", kill_on_drop: false }`
[INFO] [stdout] 07c2448c001f28091dc1bb7dddc0563321ad89aa2063bff365e2d3d55408a318
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6845b385fa6e86fd08e237fa1f2c7b3b99cf8cdf7260f47bc128286f908ef494
[INFO] running `Command { std: "docker" "start" "-a" "6845b385fa6e86fd08e237fa1f2c7b3b99cf8cdf7260f47bc128286f908ef494", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling lexical-util v1.0.7
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling arrow-schema v53.4.1
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling lexical-parse-integer v1.0.6
[INFO] [stderr]    Compiling lexical-write-integer v1.0.6
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling lexical-write-float v1.0.6
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling flatbuffers v24.12.23
[INFO] [stderr]    Compiling lexical-parse-float v1.0.6
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling lexical-core v1.0.6
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling chrono v0.4.39
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.47
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling ordered-float v2.10.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling integer-encoding v3.0.4
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling thrift v0.17.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling twox-hash v1.6.3
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling crossterm v0.25.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling tqdm v0.8.0
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling mimalloc v0.1.50
[INFO] [stderr]    Compiling rand_xoshiro v0.6.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling arrow-buffer v53.4.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling arrow-data v53.4.1
[INFO] [stderr]    Compiling arrow-array v53.4.1
[INFO] [stderr]    Compiling arrow-select v53.4.1
[INFO] [stderr]    Compiling arrow-cast v53.4.1
[INFO] [stderr]    Compiling arrow-ipc v53.4.1
[INFO] [stderr]    Compiling parquet v53.4.1
[INFO] [stderr]    Compiling sudoku_rs_core v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `CspLinkGraph` and `CspVarTable`
[INFO] [stdout]   --> src/generic/techniques/gwhip.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9};
[INFO] [stdout]    |                                ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GLabelTable`
[INFO] [stdout]   --> src/generic/techniques/gwhip.rs:97:47
[INFO] [stdout]    |
[INFO] [stdout] 97 |     glabel_contains_none_of, label_in_glabel, GLabelTable, GLinkGraph, WG9,
[INFO] [stdout]    |                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::resolution_state::ResolutionState`
[INFO] [stdout]   --> src/generic/techniques/gwhip.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 | use super::super::resolution_state::ResolutionState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LinkGraph`
[INFO] [stdout]   --> src/generic/techniques/braid.rs:90:32
[INFO] [stdout]    |
[INFO] [stdout] 90 | use super::super::csp_tables::{LinkGraph, W9};
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CspVarTable`
[INFO] [stdout]    --> src/generic/techniques/gbraid.rs:115:46
[INFO] [stdout]     |
[INFO] [stdout] 115 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9};
[INFO] [stdout]     |                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `solve_unique`
[INFO] [stdout]   --> src/generic/aic_reverse.rs:51:44
[INFO] [stdout]    |
[INFO] [stdout] 51 | use super::search::{count_solutions_up_to, solve_unique};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `rayon`
[INFO] [stdout]    --> src/generic/rfc_reverse.rs:262:7
[INFO] [stdout]     |
[INFO] [stdout] 262 | #[cfg(feature = "rayon")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `rayon` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cspl`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |     let cspl = ctx.cspl;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_cspl`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glab`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let glab = ctx.glab;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_glab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `csp_set`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:545:5
[INFO] [stdout]     |
[INFO] [stdout] 545 |     csp_set: &HashSet<u32>,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glab`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:553:9
[INFO] [stdout]     |
[INFO] [stdout] 553 |     let glab = ctx.glab;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_glab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `csp_set`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:656:13
[INFO] [stdout]     |
[INFO] [stdout] 656 |         let csp_set: HashSet<u32> = chain.csp_vars.iter().copied().collect();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:821:29
[INFO] [stdout]     |
[INFO] [stdout] 821 | ...                   ctx: &ChainContext<'_>,
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `csp_set`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:817:13
[INFO] [stdout]     |
[INFO] [stdout] 817 |         let csp_set: HashSet<u32> = chain.csp_vars.iter().copied().collect();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glab`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:977:9
[INFO] [stdout]     |
[INFO] [stdout] 977 |     let glab = ctx.glab;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_glab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `csp_set`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:990:9
[INFO] [stdout]     |
[INFO] [stdout] 990 |     let csp_set: HashSet<u32> = chain.csp_vars.iter().copied().collect();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nv` is never read
[INFO] [stdout]    --> src/generic/aic_reverse.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub(crate) struct AicProbeScratch {
[INFO] [stdout]     |                   --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 172 |     nv: usize,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_any_aic_chain` is never used
[INFO] [stdout]    --> src/generic/aic_reverse.rs:482:15
[INFO] [stdout]     |
[INFO] [stdout] 482 | pub(crate) fn has_any_aic_chain<const N: usize, const BR: usize, const BC: usize>(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `box_of` is never used
[INFO] [stdout]   --> src/shc/tridagon.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn box_of(idx: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `band_of_box` is never used
[INFO] [stdout]   --> src/shc/tridagon.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn band_of_box(b: usize) -> usize { b / 3 }
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stack_of_box` is never used
[INFO] [stdout]   --> src/shc/tridagon.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn stack_of_box(b: usize) -> usize { b % 3 }
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 25s
[INFO] running `Command { std: "docker" "inspect" "6845b385fa6e86fd08e237fa1f2c7b3b99cf8cdf7260f47bc128286f908ef494", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6845b385fa6e86fd08e237fa1f2c7b3b99cf8cdf7260f47bc128286f908ef494", kill_on_drop: false }`
[INFO] [stdout] 6845b385fa6e86fd08e237fa1f2c7b3b99cf8cdf7260f47bc128286f908ef494
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fb58c2722c4c7cf87da1050eecbc0be90489d704b9c6fad1b556150284691153
[INFO] running `Command { std: "docker" "start" "-a" "fb58c2722c4c7cf87da1050eecbc0be90489d704b9c6fad1b556150284691153", kill_on_drop: false }`
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling tqdm v0.8.0
[INFO] [stderr]    Compiling arrow-array v53.4.1
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling arrow-select v53.4.1
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling arrow-cast v53.4.1
[INFO] [stderr]    Compiling arrow-ipc v53.4.1
[INFO] [stderr]    Compiling parquet v53.4.1
[INFO] [stderr]    Compiling sudoku_rs_core v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `CspLinkGraph` and `CspVarTable`
[INFO] [stdout]   --> src/generic/techniques/gwhip.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9};
[INFO] [stdout]    |                                ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GLabelTable`
[INFO] [stdout]   --> src/generic/techniques/gwhip.rs:97:47
[INFO] [stdout]    |
[INFO] [stdout] 97 |     glabel_contains_none_of, label_in_glabel, GLabelTable, GLinkGraph, WG9,
[INFO] [stdout]    |                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::resolution_state::ResolutionState`
[INFO] [stdout]   --> src/generic/techniques/gwhip.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 | use super::super::resolution_state::ResolutionState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LinkGraph`
[INFO] [stdout]   --> src/generic/techniques/braid.rs:90:32
[INFO] [stdout]    |
[INFO] [stdout] 90 | use super::super::csp_tables::{LinkGraph, W9};
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CspVarTable`
[INFO] [stdout]    --> src/generic/techniques/gbraid.rs:115:46
[INFO] [stdout]     |
[INFO] [stdout] 115 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9};
[INFO] [stdout]     |                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `solve_unique`
[INFO] [stdout]   --> src/generic/aic_reverse.rs:51:44
[INFO] [stdout]    |
[INFO] [stdout] 51 | use super::search::{count_solutions_up_to, solve_unique};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `rayon`
[INFO] [stdout]    --> src/generic/rfc_reverse.rs:262:7
[INFO] [stdout]     |
[INFO] [stdout] 262 | #[cfg(feature = "rayon")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `rayon` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cspl`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |     let cspl = ctx.cspl;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_cspl`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glab`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let glab = ctx.glab;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_glab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `csp_set`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:545:5
[INFO] [stdout]     |
[INFO] [stdout] 545 |     csp_set: &HashSet<u32>,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glab`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:553:9
[INFO] [stdout]     |
[INFO] [stdout] 553 |     let glab = ctx.glab;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_glab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `csp_set`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:656:13
[INFO] [stdout]     |
[INFO] [stdout] 656 |         let csp_set: HashSet<u32> = chain.csp_vars.iter().copied().collect();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:821:29
[INFO] [stdout]     |
[INFO] [stdout] 821 | ...                   ctx: &ChainContext<'_>,
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `csp_set`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:817:13
[INFO] [stdout]     |
[INFO] [stdout] 817 |         let csp_set: HashSet<u32> = chain.csp_vars.iter().copied().collect();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glab`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:977:9
[INFO] [stdout]     |
[INFO] [stdout] 977 |     let glab = ctx.glab;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_glab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `csp_set`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:990:9
[INFO] [stdout]     |
[INFO] [stdout] 990 |     let csp_set: HashSet<u32> = chain.csp_vars.iter().copied().collect();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nv` is never read
[INFO] [stdout]    --> src/generic/aic_reverse.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub(crate) struct AicProbeScratch {
[INFO] [stdout]     |                   --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 172 |     nv: usize,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_any_aic_chain` is never used
[INFO] [stdout]    --> src/generic/aic_reverse.rs:482:15
[INFO] [stdout]     |
[INFO] [stdout] 482 | pub(crate) fn has_any_aic_chain<const N: usize, const BR: usize, const BC: usize>(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `box_of` is never used
[INFO] [stdout]   --> src/shc/tridagon.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn box_of(idx: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `band_of_box` is never used
[INFO] [stdout]   --> src/shc/tridagon.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn band_of_box(b: usize) -> usize { b / 3 }
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stack_of_box` is never used
[INFO] [stdout]   --> src/shc/tridagon.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn stack_of_box(b: usize) -> usize { b % 3 }
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CspVarTable`
[INFO] [stdout]   --> src/generic/techniques/gwhip.rs:95:46
[INFO] [stdout]    |
[INFO] [stdout] 95 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9};
[INFO] [stdout]    |                                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::resolution_state::ResolutionState`
[INFO] [stdout]   --> src/generic/techniques/gwhip.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 | use super::super::resolution_state::ResolutionState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::resolution_state::ResolutionState`
[INFO] [stdout]   --> src/generic/techniques/braid.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | use super::super::resolution_state::ResolutionState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CspVarTable`
[INFO] [stdout]    --> src/generic/techniques/gbraid.rs:115:46
[INFO] [stdout]     |
[INFO] [stdout] 115 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9};
[INFO] [stdout]     |                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/generic/nested_fc_reverse.rs:944:9
[INFO] [stdout]     |
[INFO] [stdout] 944 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `rayon`
[INFO] [stdout]    --> src/generic/rfc_reverse.rs:262:7
[INFO] [stdout]     |
[INFO] [stdout] 262 | #[cfg(feature = "rayon")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `rayon` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::generic::rater::rate`
[INFO] [stdout]    --> src/generic/rfc_reverse.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |     use crate::generic::rater::rate;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RateError`
[INFO] [stdout]  --> src/shc/braid_engine_tests.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::wave::{rate_b, RateError};
[INFO] [stdout]   |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/generic/techniques/whip.rs:801:13
[INFO] [stdout]     |
[INFO] [stdout] 801 |         let mut grid = Grid::<9, 3, 3>::empty();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cspl`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |     let cspl = ctx.cspl;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_cspl`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glab`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let glab = ctx.glab;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_glab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `csp_set`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:545:5
[INFO] [stdout]     |
[INFO] [stdout] 545 |     csp_set: &HashSet<u32>,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glab`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:553:9
[INFO] [stdout]     |
[INFO] [stdout] 553 |     let glab = ctx.glab;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_glab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `csp_set`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:656:13
[INFO] [stdout]     |
[INFO] [stdout] 656 |         let csp_set: HashSet<u32> = chain.csp_vars.iter().copied().collect();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:821:29
[INFO] [stdout]     |
[INFO] [stdout] 821 | ...                   ctx: &ChainContext<'_>,
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `csp_set`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:817:13
[INFO] [stdout]     |
[INFO] [stdout] 817 |         let csp_set: HashSet<u32> = chain.csp_vars.iter().copied().collect();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glab`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:977:9
[INFO] [stdout]     |
[INFO] [stdout] 977 |     let glab = ctx.glab;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_glab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `csp_set`
[INFO] [stdout]    --> src/generic/techniques/gwhip.rs:990:9
[INFO] [stdout]     |
[INFO] [stdout] 990 |     let csp_set: HashSet<u32> = chain.csp_vars.iter().copied().collect();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lab` is never used
[INFO] [stdout]    --> src/generic/techniques/whip.rs:747:8
[INFO] [stdout]     |
[INFO] [stdout] 747 |     fn lab(row: usize, col: usize, dbit: usize) -> Label {
[INFO] [stdout]     |        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nv` is never read
[INFO] [stdout]    --> src/generic/aic_reverse.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub(crate) struct AicProbeScratch {
[INFO] [stdout]     |                   --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 172 |     nv: usize,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_any_aic_chain` is never used
[INFO] [stdout]    --> src/generic/aic_reverse.rs:482:15
[INFO] [stdout]     |
[INFO] [stdout] 482 | pub(crate) fn has_any_aic_chain<const N: usize, const BR: usize, const BC: usize>(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_size_rejects_legacy_NxN_form` should have a snake case name
[INFO] [stdout]    --> src/pipeline_writer_generic.rs:671:8
[INFO] [stdout]     |
[INFO] [stdout] 671 |     fn parse_size_rejects_legacy_NxN_form() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_size_rejects_legacy_nx_n_form`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 09s
[INFO] running `Command { std: "docker" "inspect" "fb58c2722c4c7cf87da1050eecbc0be90489d704b9c6fad1b556150284691153", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fb58c2722c4c7cf87da1050eecbc0be90489d704b9c6fad1b556150284691153", kill_on_drop: false }`
[INFO] [stdout] fb58c2722c4c7cf87da1050eecbc0be90489d704b9c6fad1b556150284691153
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 59db7032a07a6235bd9ad54b8819716bf8c9d615b80de87bc24cfcea433500e4
[INFO] running `Command { std: "docker" "start" "-a" "59db7032a07a6235bd9ad54b8819716bf8c9d615b80de87bc24cfcea433500e4", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `CspLinkGraph` and `CspVarTable`
[INFO] [stderr]   --> src/generic/techniques/gwhip.rs:95:32
[INFO] [stderr]    |
[INFO] [stderr] 95 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9};
[INFO] [stderr]    |                                ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GLabelTable`
[INFO] [stderr]   --> src/generic/techniques/gwhip.rs:97:47
[INFO] [stderr]    |
[INFO] [stderr] 97 |     glabel_contains_none_of, label_in_glabel, GLabelTable, GLinkGraph, WG9,
[INFO] [stderr]    |                                               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::super::resolution_state::ResolutionState`
[INFO] [stderr]   --> src/generic/techniques/gwhip.rs:99:5
[INFO] [stderr]    |
[INFO] [stderr] 99 | use super::super::resolution_state::ResolutionState;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `LinkGraph`
[INFO] [stderr]   --> src/generic/techniques/braid.rs:90:32
[INFO] [stderr]    |
[INFO] [stderr] 90 | use super::super::csp_tables::{LinkGraph, W9};
[INFO] [stderr]    |                                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CspVarTable`
[INFO] [stderr]    --> src/generic/techniques/gbraid.rs:115:46
[INFO] [stderr]     |
[INFO] [stderr] 115 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9};
[INFO] [stderr]     |                                              ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `solve_unique`
[INFO] [stderr]   --> src/generic/aic_reverse.rs:51:44
[INFO] [stderr]    |
[INFO] [stderr] 51 | use super::search::{count_solutions_up_to, solve_unique};
[INFO] [stderr]    |                                            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `rayon`
[INFO] [stderr]    --> src/generic/rfc_reverse.rs:262:7
[INFO] [stderr]     |
[INFO] [stderr] 262 | #[cfg(feature = "rayon")]
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `rayon` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cspl`
[INFO] [stderr]    --> src/generic/techniques/gwhip.rs:465:9
[INFO] [stderr]     |
[INFO] [stderr] 465 |     let cspl = ctx.cspl;
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_cspl`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `glab`
[INFO] [stderr]    --> src/generic/techniques/gwhip.rs:466:9
[INFO] [stderr]     |
[INFO] [stderr] 466 |     let glab = ctx.glab;
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_glab`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `csp_set`
[INFO] [stderr]    --> src/generic/techniques/gwhip.rs:545:5
[INFO] [stderr]     |
[INFO] [stderr] 545 |     csp_set: &HashSet<u32>,
[INFO] [stderr]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `glab`
[INFO] [stderr]    --> src/generic/techniques/gwhip.rs:553:9
[INFO] [stderr]     |
[INFO] [stderr] 553 |     let glab = ctx.glab;
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_glab`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `csp_set`
[INFO] [stderr]    --> src/generic/techniques/gwhip.rs:656:13
[INFO] [stderr]     |
[INFO] [stderr] 656 |         let csp_set: HashSet<u32> = chain.csp_vars.iter().copied().collect();
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/generic/techniques/gwhip.rs:821:29
[INFO] [stderr]     |
[INFO] [stderr] 821 | ...                   ctx: &ChainContext<'_>,
[INFO] [stderr]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `csp_set`
[INFO] [stderr]    --> src/generic/techniques/gwhip.rs:817:13
[INFO] [stderr]     |
[INFO] [stderr] 817 |         let csp_set: HashSet<u32> = chain.csp_vars.iter().copied().collect();
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `glab`
[INFO] [stderr]    --> src/generic/techniques/gwhip.rs:977:9
[INFO] [stderr]     |
[INFO] [stderr] 977 |     let glab = ctx.glab;
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_glab`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `csp_set`
[INFO] [stderr]    --> src/generic/techniques/gwhip.rs:990:9
[INFO] [stderr]     |
[INFO] [stderr] 990 |     let csp_set: HashSet<u32> = chain.csp_vars.iter().copied().collect();
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set`
[INFO] [stderr] 
[INFO] [stderr] warning: field `nv` is never read
[INFO] [stderr]    --> src/generic/aic_reverse.rs:172:5
[INFO] [stderr]     |
[INFO] [stderr] 151 | pub(crate) struct AicProbeScratch {
[INFO] [stderr]     |                   --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 172 |     nv: usize,
[INFO] [stderr]     |     ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `has_any_aic_chain` is never used
[INFO] [stderr]    --> src/generic/aic_reverse.rs:482:15
[INFO] [stderr]     |
[INFO] [stderr] 482 | pub(crate) fn has_any_aic_chain<const N: usize, const BR: usize, const BC: usize>(
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `box_of` is never used
[INFO] [stderr]   --> src/shc/tridagon.rs:67:4
[INFO] [stderr]    |
[INFO] [stderr] 67 | fn box_of(idx: usize) -> usize {
[INFO] [stderr]    |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `band_of_box` is never used
[INFO] [stderr]   --> src/shc/tridagon.rs:72:4
[INFO] [stderr]    |
[INFO] [stderr] 72 | fn band_of_box(b: usize) -> usize { b / 3 }
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `stack_of_box` is never used
[INFO] [stderr]   --> src/shc/tridagon.rs:74:4
[INFO] [stderr]    |
[INFO] [stderr] 74 | fn stack_of_box(b: usize) -> usize { b % 3 }
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `sudoku_rs_core` (lib) generated 21 warnings (run `cargo fix --lib -p sudoku_rs_core` to apply 15 suggestions)
[INFO] [stderr] warning: unused import: `CspVarTable`
[INFO] [stderr]   --> src/generic/techniques/gwhip.rs:95:46
[INFO] [stderr]    |
[INFO] [stderr] 95 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9};
[INFO] [stderr]    |                                              ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::super::resolution_state::ResolutionState`
[INFO] [stderr]   --> src/generic/techniques/braid.rs:96:5
[INFO] [stderr]    |
[INFO] [stderr] 96 | use super::super::resolution_state::ResolutionState;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> src/generic/nested_fc_reverse.rs:944:9
[INFO] [stderr]     |
[INFO] [stderr] 944 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::generic::rater::rate`
[INFO] [stderr]    --> src/generic/rfc_reverse.rs:314:9
[INFO] [stderr]     |
[INFO] [stderr] 314 |     use crate::generic::rater::rate;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RateError`
[INFO] [stderr]  --> src/shc/braid_engine_tests.rs:8:27
[INFO] [stderr]   |
[INFO] [stderr] 8 | use super::wave::{rate_b, RateError};
[INFO] [stderr]   |                           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/generic/techniques/whip.rs:801:13
[INFO] [stderr]     |
[INFO] [stderr] 801 |         let mut grid = Grid::<9, 3, 3>::empty();
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `lab` is never used
[INFO] [stderr]    --> src/generic/techniques/whip.rs:747:8
[INFO] [stderr]     |
[INFO] [stderr] 747 |     fn lab(row: usize, col: usize, dbit: usize) -> Label {
[INFO] [stderr]     |        ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `nv` is never read
[INFO] [stderr]    --> src/generic/aic_reverse.rs:172:5
[INFO] [stderr]     |
[INFO] [stderr] 151 | pub(crate) struct AicProbeScratch {
[INFO] [stderr]     |                   --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 172 |     nv: usize,
[INFO] [stderr]     |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_size_rejects_legacy_NxN_form` should have a snake case name
[INFO] [stderr]    --> src/pipeline_writer_generic.rs:671:8
[INFO] [stderr]     |
[INFO] [stderr] 671 |     fn parse_size_rejects_legacy_NxN_form() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_size_rejects_legacy_nx_n_form`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `sudoku_rs_core` (lib test) generated 22 warnings (13 duplicates) (run `cargo fix --lib -p sudoku_rs_core --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.38s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sudoku_rs_core-df8b786dabf1a733)
[INFO] [stdout] 
[INFO] [stdout] running 488 tests
[INFO] [stdout] test bitboard::tests::peers_count ... ok
[INFO] [stdout] test generic::aic_reverse::tests::aic_unsoundness_regression_a05085 ... ok
[INFO] [stdout] test bitboard::tests::units_cover ... ok
[INFO] [stdout] test generic::aic_reverse::tests::scratch_reuse_matches_fresh_baseline_9x9 ... ok
[INFO] [stdout] test generic::aic_reverse::tests::validate_t1_t2_rejected ... ok
[INFO] [stdout] test generic::aic_reverse::tests::validate_zero_chain_length_rejected ... ok
[INFO] [stdout] test generic::als_xz_reverse::tests::als_xz_dryrun_mirrors_production ... ok
[INFO] [stdout] test generic::als_xz_reverse::tests::als_xz_rejects_overlap_cells ... ok
[INFO] [stdout] test generic::aic_reverse::tests::scratch_reuse_matches_fresh_baseline_16x16 ... ok
[INFO] [stdout] test generic::aic_reverse::tests::smoke_16x16_terminates ... ok
[INFO] [stdout] test generic::als_xz_reverse::tests::determinism_same_seed_same_puzzle ... ok
[INFO] [stdout] test generic::als_xz_reverse::tests::batch_smoke_terminates ... ok
[INFO] [stdout] test generic::als_xz_reverse::tests::smoke_9x9_als_xz ... ok
[INFO] [stdout] test generic::als_xz_reverse::tests::validate_rejects_bad_specs ... ok
[INFO] [stdout] test generic::backtracker::tests::solve_12x12_via_singles ... ok
[INFO] [stdout] test generic::backtracker::tests::solve_16x16_via_singles ... ok
[INFO] [stdout] test generic::backtracker::tests::solve_6x6_via_singles_or_search ... ok
[INFO] [stdout] test generic::backtracker::tests::solve_easy_9x9_via_singles ... ok
[INFO] [stdout] test generic::bitboard::tests::for_each_ascending ... ok
[INFO] [stdout] test generic::bitboard::tests::set_test_clear_popcount ... ok
[INFO] [stdout] test generic::canonical::tests::bench_canonical_1000_grids ... ignored
[INFO] [stdout] test generic::canonical::tests::canonical_distinct_grids_distinct ... ok
[INFO] [stdout] test generic::canonical::tests::canonical_hash_distinct_grids ... ok
[INFO] [stdout] test generic::canonical::tests::canonical_idempotent ... ok
[INFO] [stdout] test generic::canonical::tests::canonical_partial_grid_stable ... ok
[INFO] [stdout] test generic::canonical::tests::canonical_relabeled_digit_collapses ... ok
[INFO] [stdout] test generic::canonical::tests::canonical_transpose_collapses ... ok
[INFO] [stdout] test generic::cfc_reverse::tests::accepts_only_k_ge_3 ... ok
[INFO] [stdout] test generic::cfc_reverse::tests::accepts_only_load_bearing_cfc ... ok
[INFO] [stdout] test generic::aic_reverse::tests::determinism_same_seed_same_puzzle ... ok
[INFO] [stdout] test generic::als_xz_reverse::tests::smoke_16x16_als_xz ... ok
[INFO] [stdout] test generic::aic_reverse::tests::hit_rate_9x9_chain5_slack2_no_load_bearing ... ok
[INFO] [stdout] test generic::cfc_reverse::tests::spec_validation ... ok
[INFO] [stdout] test generic::chain_model::tests::braid_dedup_is_set_not_positional ... ok
[INFO] [stdout] test generic::chain_model::tests::chain_clone_round_trip ... ok
[INFO] [stdout] test generic::chain_model::tests::cross_type_dedup_whip_braid_same_key ... ok
[INFO] [stdout] test generic::chain_model::tests::cross_type_dedup_whip_gwhip_different_keys ... ok
[INFO] [stdout] test generic::chain_model::tests::last_rlc_returns_correct_variant ... ok
[INFO] [stdout] test generic::chain_model::tests::whip_braid_same_rlcs_different_keys ... ok
[INFO] [stdout] test generic::chain_model::tests::whip_dedup_is_positional_not_set ... ok
[INFO] [stdout] test generic::chain_rating::tests::test_chain_rating_to_se_monotonicity ... ok
[INFO] [stdout] test generic::chain_rating::tests::test_fixture1_solved_by_singles ... ok
[INFO] [stdout] test generic::chain_rating::tests::test_k_max_zero_returns_none ... ok
[INFO] [stdout] test generic::chain_rating::tests::test_none_on_solved_grid ... ok
[INFO] [stdout] test generic::csp_tables::tests::n9_csp_alternatives_count ... ok
[INFO] [stdout] test generic::csp_tables::tests::n9_csp_var_count_is_324 ... ok
[INFO] [stdout] test generic::csp_tables::tests::n9_each_csp_var_has_9_labels ... ok
[INFO] [stdout] test generic::csp_tables::tests::n9_label_belongs_to_4_vars ... ok
[INFO] [stdout] test generic::csp_tables::tests::n9_row_peers_are_linked ... ok
[INFO] [stdout] test generic::csp_tables::tests::n9_same_cell_different_digits_linked ... ok
[INFO] [stdout] test generic::cfc_reverse::tests::constructs_at_least_one_puzzle ... ok
[INFO] [stdout] test generic::dfc_reverse::tests::accepts_only_dfc_top_with_real_seeds ... ok
[INFO] [stdout] test generic::dfc_reverse::tests::batch_smoke_no_panic ... ok
[INFO] [stdout] test generic::dfc_reverse::tests::default_spec_terminates ... ok
[INFO] [stdout] test generic::dfc_reverse::tests::mutates_then_rates ... ok
[INFO] [stdout] test generic::dfc_reverse::tests::seed_pool_loading_inline ... ok
[INFO] [stdout] test generic::dfc_reverse::tests::seed_pool_loading_missing_file ... ok
[INFO] [stdout] test generic::cfc_reverse::tests::emitted_puzzle_unique_solution ... ok
[INFO] [stdout] test generic::cfc_reverse::tests::emitted_puzzle_rates_se_ge_8 ... ok
[INFO] [stdout] test generic::fish_reverse::tests::find_first_fish_size_deterministic ... ok
[INFO] [stdout] test generic::aic_reverse::tests::returned_puzzle_solves_to_solution ... ok
[INFO] [stdout] test generic::fish_reverse::tests::fish_dryrun_mirrors_production_swordfish_9x9 ... ok
[INFO] [stdout] test generic::fish_reverse::tests::fish_dryrun_mirrors_production_jellyfish_16x16 ... ok
[INFO] [stdout] test generic::fish_reverse::tests::fish_dryrun_mirrors_production_xwing_9x9 ... ok
[INFO] [stdout] test generic::fish_reverse::tests::fish_dryrun_rejects_pseudo_fish_9x9 ... ok
[INFO] [stdout] test generic::aic_reverse::tests::batch_smoke_terminates ... ok
[INFO] [stdout] test generic::als_xz_reverse::tests::load_bearing_strict_semantics ... ok
[INFO] [stdout] test generic::fish_reverse::tests::smoke_16x16_x_wing ... ok
[INFO] [stdout] test generic::fish_reverse::tests::returned_puzzle_solves_to_solution ... ok
[INFO] [stdout] test generic::fish_reverse::tests::smoke_9x9_jellyfish ... ok
[INFO] [stdout] test generic::fish_reverse::tests::validate_rejects_invalid_size ... ok
[INFO] [stdout] test generic::gbraid_reverse::tests::batch_terminates_and_bounded ... ignored, CR-FIN-10 Mn-2: gBraid[3] batch construction expensive; run with --ignored batch_terminates_and_bounded
[INFO] [stdout] test generic::gbraid_reverse::tests::determinism_same_seed ... ignored, CR-FIN-10 Mn-2: gBraid[3] end-to-end determinism slow; run with --ignored determinism_same_seed
[INFO] [stdout] test generic::gbraid_reverse::tests::fixture7_gb29_smoke ... ignored, TODO: gB[29] search runtime >> 10s; un-ignore with pruned gbraid solver. Spec §12 Fixture 7.
[INFO] [stdout] test generic::gbraid_reverse::tests::gbraid_excludes_gwhip_functional ... ignored, CR-FIN-11 Mn-3: GBraid[3] reverse construction is expensive; run with --ignored gbraid_excludes_gwhip_functional
[INFO] [stdout] test generic::gbraid_reverse::tests::gbraid_excludes_gwhip_structural ... ok
[INFO] [stdout] test generic::gbraid_reverse::tests::load_bearing_only_returns_gb_rated_puzzles ... ignored, CR-FIN-10 Mn-2: gBraid[3] load-bearing search expensive; run with --ignored load_bearing_only_returns_gb_rated_puzzles
[INFO] [stdout] test generic::gbraid_reverse::tests::smoke_low_k_gbraid_fires ... ignored, CR-FIN-10 Mn-2: gBraid[3] smoke search expensive; run with --ignored smoke_low_k_gbraid_fires
[INFO] [stdout] test generic::gbraid_reverse::tests::validate_rejects_inverted_clue_band ... ok
[INFO] [stdout] test generic::gbraid_reverse::tests::validate_rejects_target_k_above_max ... ok
[INFO] [stdout] test generic::gbraid_reverse::tests::validate_rejects_target_k_below_floor ... ok
[INFO] [stdout] test generic::gbraid_reverse::tests::validate_rejects_zero_target_k ... ok
[INFO] [stdout] test generic::generator::tests::determinism_same_seed_same_puzzle_6x6 ... ok
[INFO] [stdout] test generic::generator::tests::determinism_same_seed_same_puzzle_9x9 ... ok
[INFO] [stdout] test generic::generator::tests::random_solution_16x16_is_valid ... ok
[INFO] [stdout] test generic::generator::tests::random_solution_is_valid ... ok
[INFO] [stdout] test generic::generator::tests::smoke_12x12 ... ok
[INFO] [stdout] test generic::fish_reverse::tests::batch_smoke_terminates ... ok
[INFO] [stdout] test generic::generator::tests::smoke_6x6 ... ok
[INFO] [stdout] test generic::generator::tests::smoke_9x9 ... ok
[INFO] [stdout] test generic::fish_reverse::tests::smoke_9x9_x_wing ... ok
[INFO] [stdout] test generic::generator::tests::smoke_16x16 ... ok
[INFO] [stdout] test generic::fish_reverse::tests::smoke_9x9_swordfish ... ok
[INFO] [stdout] test generic::generator_constrained::tests::t1_6x6_50_puzzles ... ok
[INFO] [stdout] test generic::fish_reverse::tests::determinism_same_seed_same_puzzle ... ok
[INFO] [stdout] test generic::aic_reverse::tests::hit_rate_9x9_chain7_load_bearing ... ok
[INFO] [stdout] test generic::generator_constrained::tests::t1_generator_distribution_not_constant ... ok
[INFO] [stdout] test generic::generator_constrained::tests::t1_9x9_100_puzzles ... ok
[INFO] [stdout] test generic::dfc_reverse::tests::accepts_only_dfc_top_invariant has been running for over 60 seconds
[INFO] [stdout] test generic::fish_reverse::tests::load_bearing_strict_semantics_xwing_9x9 has been running for over 60 seconds
[INFO] [stdout] test generic::generator_constrained::tests::t1_12x12_50_puzzles ... ok
[INFO] [stdout] test generic::glabel_tables::tests::glabel_contains_none_of_basic ... ok
[INFO] [stdout] test generic::glabel_tables::tests::glabel_contains_some_of_basic ... ok
[INFO] [stdout] test generic::glabel_tables::tests::glabel_contains_some_of_gcand_overlap ... ok
[INFO] [stdout] test generic::glabel_tables::tests::horiz_glabel_csp_vars ... ok
[INFO] [stdout] test generic::glabel_tables::tests::label_in_glabel_basic ... ok
[INFO] [stdout] test generic::glabel_tables::tests::n9_glabel_count_is_486 ... ok
[INFO] [stdout] test generic::glabel_tables::tests::n9_glabel_member_count ... ok
[INFO] [stdout] test generic::fish_reverse::tests::load_bearing_strict_semantics_xwing_9x9 ... ok
[INFO] [stdout] test generic::grid::tests::assign_contradiction_in_row ... ok
[INFO] [stdout] test generic::grid::tests::assign_propagates_9x9 ... ok
[INFO] [stdout] test generic::grid::tests::empty_12x12_full_mask ... ok
[INFO] [stdout] test generic::grid::tests::empty_16x16_full_mask ... ok
[INFO] [stdout] test generic::grid::tests::empty_6x6_full_mask ... ok
[INFO] [stdout] test generic::glabel_tables::tests::segment_kind_correctness ... ok
[INFO] [stdout] test generic::grid::tests::empty_9x9_has_full_masks ... ok
[INFO] [stdout] test generic::hidden_quad_reverse::tests::batch_smoke_terminates ... ok
[INFO] [stdout] test generic::hidden_quad_reverse::tests::hidden_quad_dryrun_mirrors_production ... ok
[INFO] [stdout] test generic::hidden_quad_reverse::tests::hidden_quad_rejects_pseudo_quad ... ok
[INFO] [stdout] test generic::generator_constrained::tests::load_bearing_t3_aic_drops_when_excluded has been running for over 60 seconds
[INFO] [stdout] test generic::generator_constrained::tests::t1_16x16_50_puzzles has been running for over 60 seconds
[INFO] [stdout] test generic::hidden_quad_reverse::tests::determinism_same_seed_same_puzzle ... ok
[INFO] [stdout] test generic::hidden_quad_reverse::tests::smoke_12x12_hidden_quad ... ok
[INFO] [stdout] test generic::hidden_quad_reverse::tests::smoke_9x9_hidden_quad ... ok
[INFO] [stdout] test generic::hidden_quad_reverse::tests::validate_rejects_bad_specs ... ok
[INFO] [stdout] test generic::naked_quad_reverse::tests::batch_smoke_terminates ... ok
[INFO] [stdout] test generic::generator_constrained::tests::t2_9x9_100_puzzles has been running for over 60 seconds
[INFO] [stdout] test generic::generator_constrained::tests::t3_9x9_100_puzzles has been running for over 60 seconds
[INFO] [stdout] test generic::naked_quad_reverse::tests::determinism_same_seed_same_puzzle ... ok
[INFO] [stdout] test generic::generator_constrained::tests::t2_9x9_100_puzzles ... ok
[INFO] [stdout] test generic::naked_quad_reverse::tests::naked_quad_dryrun_mirrors_production ... ok
[INFO] [stdout] test generic::naked_quad_reverse::tests::naked_quad_rejects_pseudo_quad ... ok
[INFO] [stdout] test generic::naked_quad_reverse::tests::smoke_12x12_naked_quad ... ok
[INFO] [stdout] test generic::generator_constrained::tests::t4plus_9x9_100_puzzles has been running for over 60 seconds
[INFO] [stdout] test generic::hidden_quad_reverse::tests::load_bearing_strict_semantics ... ok
[INFO] [stdout] test generic::naked_quad_reverse::tests::validate_rejects_bad_specs ... ok
[INFO] [stdout] test generic::naked_quad_reverse::tests::smoke_9x9_naked_quad ... ok
[INFO] [stdout] test generic::generator_constrained::tests::t3_9x9_100_puzzles ... ok
[INFO] [stdout] test generic::naked_quad_reverse::tests::load_bearing_strict_semantics ... ok
[INFO] [stdout] test generic::nested_aic_reverse::tests::preemption_masking_terminates_on_trivial_puzzle ... ok
[INFO] [stdout] test generic::nested_aic_reverse::tests::technique_sets_are_disjoint ... ok
[INFO] [stdout] test generic::nested_fc_reverse::bench::bench_rate_throughput ... ignored
[INFO] [stdout] test generic::nested_fc_reverse::tests::batch_returns_empty_without_seed_path ... ok
[INFO] [stdout] test generic::nested_fc_reverse::tests::constructs_l2_puzzle ... ok
[INFO] [stdout] test generic::nested_fc_reverse::tests::constructs_l3_puzzle ... ok
[INFO] [stdout] test generic::nested_fc_reverse::tests::constructs_l4_puzzle ... ignored
[INFO] [stdout] test generic::nested_aic_reverse::tests::batch_smoke has been running for over 60 seconds
[INFO] [stdout] test generic::nested_aic_reverse::tests::construct_smoke has been running for over 60 seconds
[INFO] [stdout] test generic::nested_fc_reverse::tests::emitted_puzzle_unique_solution ... ok
[INFO] [stdout] test generic::nested_fc_reverse::tests::level_strict_l2_rejects_l3_se_puzzle ... ignored
[INFO] [stdout] test generic::nested_fc_reverse::tests::load_seed_puzzles_missing_file ... ok
[INFO] [stdout] test generic::nested_fc_reverse::tests::mutate_1_changes_exactly_one_cell ... ok
[INFO] [stdout] test generic::nested_fc_reverse::tests::mutate_2_changes_exactly_two_cells ... ok
[INFO] [stdout] test generic::nested_fc_reverse::tests::se_bucket_upper_bounds ... ok
[INFO] [stdout] test generic::nested_fc_reverse::tests::technique_id_mapping ... ok
[INFO] [stdout] test generic::nested_fc_reverse::tests::wall_time_budget_expired_returns_empty ... ok
[INFO] [stdout] test generic::peer_tables::tests::box_count_each_size ... ok
[INFO] [stdout] test generic::peer_tables::tests::cache_returns_same_arc ... ok
[INFO] [stdout] test generic::peer_tables::tests::peer_count_12x12 ... ok
[INFO] [stdout] test generic::peer_tables::tests::peer_count_16x16 ... ok
[INFO] [stdout] test generic::peer_tables::tests::peer_count_6x6 ... ok
[INFO] [stdout] test generic::peer_tables::tests::peer_count_9x9 ... ok
[INFO] [stdout] test generic::rater::tests::chain_technique_exclusion_inert_on_t1 ... ok
[INFO] [stdout] test generic::rater::tests::chain_techniques_do_not_reclassify_easy_puzzles ... ok
[INFO] [stdout] test generic::rater::tests::load_bearing_9x9_t3_drops_when_excluded ... ok
[INFO] [stdout] test generic::rater::tests::mode_full_matches_rate_default ... ok
[INFO] [stdout] test generic::rater::tests::mode_solve_easy_returns_t1_solved_no_frontier ... ok
[INFO] [stdout] test generic::rater::tests::mode_solve_inconsistent_input_flags_error ... ok
[INFO] [stdout] test generic::rater::tests::mode_tier_skips_uniqueness_double_solve ... ok
[INFO] [stdout] test generic::rater::tests::rate_excluding_inert_exclusion_matches_rate ... ok
[INFO] [stdout] test generic::rater::tests::solver_mode_parse ... ok
[INFO] [stdout] test generic::rater::tests::t1_12x12_singles_only ... ok
[INFO] [stdout] test generic::rater::tests::t1_16x16_singles_only ... ok
[INFO] [stdout] test generic::rater::tests::t1_6x6_singles_only ... ok
[INFO] [stdout] test generic::rater::tests::t1_9x9_easy_singles ... ok
[INFO] [stdout] test generic::rater::tests::t2_9x9_requires_locked_or_pair ... ok
[INFO] [stdout] test generic::dfc_reverse::tests::accepts_only_dfc_top_invariant ... ok
[INFO] [stdout] test generic::rater::tests::t3_9x9_requires_t3_tech ... ok
[INFO] [stdout] test generic::rater::tests::t4plus_6x6_empty_grid ... ok
[INFO] [stdout] test generic::rater::tests::t4plus_16x16_empty_grid ... ok
[INFO] [stdout] test generic::rater::tests::t4plus_9x9_inconsistent_input ... ok
[INFO] [stdout] test generic::resolution_state::tests::eliminate_is_idempotent ... ok
[INFO] [stdout] test generic::resolution_state::tests::eliminate_kills_glabel_when_support_drops_below_2 ... ok
[INFO] [stdout] test generic::resolution_state::tests::eliminate_removes_from_cand_alive ... ok
[INFO] [stdout] test generic::resolution_state::tests::g_cand_alive_reflects_g_alive ... ok
[INFO] [stdout] test generic::reverse_construct::tests::als_xz_on_6x6_terminates_with_none_or_some ... ok
[INFO] [stdout] test generic::reverse_construct::tests::batch_determinism_same_seed_same_multiset_single_thread ... ok
[INFO] [stdout] test generic::reverse_construct::tests::determinism_same_seed_same_puzzle ... ok
[INFO] [stdout] test generic::rater::tests::t4plus_9x9_empty_grid_stuck ... ok
[INFO] [stdout] test generic::reverse_construct::tests::excluded_technique_not_in_frontier ... ok
[INFO] [stdout] test generic::nested_aic_reverse::tests::preemption_masking_blocks_short_aic_bypass has been running for over 60 seconds
[INFO] [stdout] test generic::reverse_construct::tests::frontier_match_multiple_required ... ok
[INFO] [stdout] test generic::reverse_construct::tests::no_required_t1_succeeds_easily ... ok
[INFO] [stdout] test generic::reverse_construct::tests::parse_technique_id_covers_all_16 ... ok
[INFO] [stdout] test generic::nested_aic_reverse::tests::batch_smoke ... ok
[INFO] [stdout] test generic::nested_aic_reverse::tests::construct_smoke ... ok
[INFO] [stdout] test generic::reverse_construct::tests::r15_at_least_k2_each_frontier_has_two ... ok
[INFO] [stdout] test generic::reverse_construct::tests::r15_any_of_each_frontier_has_at_least_one ... ok
[INFO] [stdout] test generic::reverse_construct::tests::r15_batch_mix_zero_weights_rejected ... ok
[INFO] [stdout] test generic::reverse_construct::tests::r15_match_mode_validate_exact_k_overflow ... ok
[INFO] [stdout] test generic::reverse_construct::tests::load_bearing_drops_tier_when_required_excluded has been running for over 60 seconds
[INFO] [stdout] test generic::reverse_construct::tests::per_tech_smoke_9x9_terminates_within_budget has been running for over 60 seconds
[INFO] [stdout] test generic::reverse_construct::tests::r15_batch_mix_spec_parses_and_dispatches ... ok
[INFO] [stdout] test generic::reverse_construct::tests::validate_required_excluded_disjoint ... ok
[INFO] [stdout] test generic::reverse_construct::tests::validate_t1_with_required_is_rejected ... ok
[INFO] [stdout] test generic::reverse_construct::tests::r15_weighted_emits_and_contract_holds ... ok
[INFO] [stdout] test generic::rfc_reverse::tests::constructs_at_least_one_puzzle ... ignored, slow: 50k attempts needed in debug mode; run with --ignored
[INFO] [stdout] test generic::rfc_reverse::tests::accepts_only_load_bearing_rfc has been running for over 60 seconds
[INFO] [stdout] test generic::rfc_reverse::tests::constructs_at_least_one_puzzle_fast ... ok
[INFO] [stdout] test generic::rfc_reverse::tests::accepts_only_load_bearing_rfc ... ok
[INFO] [stdout] test generic::rfc_reverse::tests::emitted_puzzle_unique_solution ... ok
[INFO] [stdout] test generic::rfc_reverse::tests::rfc_reverse_spec_is_valid ... ok
[INFO] [stdout] test generic::search::tests::count_solutions_easy_9x9_unique ... ok
[INFO] [stdout] test generic::search::tests::count_solutions_empty_short_circuits ... ok
[INFO] [stdout] test generic::search::tests::count_solutions_unique_easy_9x9 ... ok
[INFO] [stdout] test generic::search::tests::count_solutions_zero_limit ... ok
[INFO] [stdout] test generic::search::tests::search_random_completes_empty_12x12 ... ok
[INFO] [stdout] test generic::search::tests::search_random_completes_empty_16x16 ... ok
[INFO] [stdout] test generic::search::tests::search_random_completes_empty_6x6 ... ok
[INFO] [stdout] test generic::search::tests::search_random_completes_empty_9x9 ... ok
[INFO] [stdout] test generic::search::tests::solve_unique_none_for_empty ... ok
[INFO] [stdout] test generic::spec::tests::matches_clue_band ... ok
[INFO] [stdout] test generic::spec::tests::matches_exact_tier_no_techs ... ok
[INFO] [stdout] test generic::spec::tests::matches_required_techs ... ok
[INFO] [stdout] test generic::spec::tests::rater_error_never_matches ... ok
[INFO] [stdout] test generic::techniques::aic::tests::aic_bfs_dedup_preserves_xy_path ... ok
[INFO] [stdout] test generic::techniques::aic::tests::aic_finds_xy_wing_9x9 ... ok
[INFO] [stdout] test generic::techniques::aic::tests::aic_idempotent_after_fire ... ok
[INFO] [stdout] test generic::techniques::aic::tests::aic_no_panic_empty_9x9 ... ok
[INFO] [stdout] test generic::techniques::aic::tests::aic_no_unsound_type2_9x9 ... ok
[INFO] [stdout] test generic::techniques::aic::tests::aic_x_chain_not_xy_chain ... ok
[INFO] [stdout] test generic::techniques::aic::tests::aic_xy_wing_16x16 ... ok
[INFO] [stdout] test generic::techniques::als_xz::tests::als_xz_no_contradiction_on_constructive_smoke ... ok
[INFO] [stdout] test generic::techniques::als_xz::tests::als_xz_no_fire_on_empty_9x9 ... ok
[INFO] [stdout] test generic::techniques::als_xz::tests::als_xz_xy_wing_16x16 ... ok
[INFO] [stdout] test generic::techniques::als_xz::tests::als_xz_xy_wing_pattern_9x9 ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_braid1_direct_parity_with_whip1 ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_braid2_termination_fixture2 ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_braid3_termination_fixture3 ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_braid5_fixture4_no_panic ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_braid_allows_llc_reuse ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_braid_dedup_is_multiset ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_braid_scratch_reset ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_crfin12_m1_braid_scorer_excludes_w_and_gw ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_crfin12_m1_suppressor_is_subset_of_whip_only ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_crfin6_c1_find_first_braid_smoke_fixture2 ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_crfin6_c1_terminate_braid_accepts_partial_braid ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_crfin6_c1_terminate_braid_rejects_partial_whip - should panic ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_crfin7_c1_find_first_braid_floor_at_3 ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_crfin7_c1_run_braid_pass_floor_at_3 ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_f2_braid_scratch_has_whip_buffers ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_f2_run_braid_pass_seeds_whip_crossfeed ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_fx5_no_duplicate_eliminations_from_crossfeed ... ok
[INFO] [stdout] test generic::rfc_reverse::tests::emitted_puzzle_rates_se_ge_7_6 has been running for over 60 seconds
[INFO] [stdout] test generic::rfc_reverse::tests::emitted_puzzle_rates_se_ge_7_6 ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_fxr1_braid_pure_link_check ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_fxr5_fixture2_braid1_known_answer ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_k_max_bound ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_no_false_positive_solved ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_partial_braid1_seed_structure ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_run_braid_pass_smoke ... ok
[INFO] [stdout] test generic::techniques::bug::tests::bug_no_fire_empty_9x9 ... ok
[INFO] [stdout] test generic::techniques::bug::tests::bug_no_fire_solved_9x9 ... ok
[INFO] [stdout] test generic::techniques::bug::tests::bug_smoke_12x12 ... ok
[INFO] [stdout] test generic::techniques::bug::tests::bug_smoke_16x16 ... ok
[INFO] [stdout] test generic::techniques::bug::tests::bug_smoke_6x6 ... ok
[INFO] [stdout] test generic::techniques::cell_fc::tests::cell_fc_does_not_fire_on_easy_puzzle ... ok
[INFO] [stdout] test generic::techniques::cell_fc::tests::cell_fc_fires_on_synthetic_example ... ok
[INFO] [stdout] test generic::techniques::cell_fc::tests::cell_fc_skips_high_candidate_cells ... ok
[INFO] [stdout] test generic::techniques::cell_fc::tests::contradiction_subcase_eliminates_candidate ... ok
[INFO] [stdout] test generic::techniques::cell_fc::tests::k2_path_uses_singles_only_propagator_regression ... ok
[INFO] [stdout] test generic::techniques::cell_fc::tests::k2_pivot_y_chain_fires_at_6_6 ... ok
[INFO] [stdout] test generic::techniques::cell_fc::tests::k2_singles_only_config_differs_from_full ... ok
[INFO] [stdout] test generic::techniques::cell_fc::tests::k3_pivot_still_rates_8_0 ... ok
[INFO] [stdout] test generic::techniques::cell_fc::tests::rated_technique_base_rating ... ok
[INFO] [stdout] test generic::techniques::chain_rated::tests::all_arms_excluded_returns_none ... ok
[INFO] [stdout] test generic::techniques::chain_rated::tests::chain_rater_k_max_is_spec_capped ... ok
[INFO] [stdout] test generic::techniques::chain_rated::tests::rate_excluding_gbraid_skips_chain ... ok
[INFO] [stdout] test generic::techniques::chain_rated::tests::with_excluded_gbraid_masks_driver ... ok
[INFO] [stdout] test generic::techniques::chaining_propagator::tests::cascades_to_fixpoint ... ok
[INFO] [stdout] test generic::techniques::chaining_propagator::tests::contradiction_detected ... ok
[INFO] [stdout] test generic::techniques::chaining_propagator::tests::propagates_via_locked_pointing ... ok
[INFO] [stdout] test generic::techniques::chaining_propagator::tests::propagates_via_naked_pair ... ok
[INFO] [stdout] test generic::techniques::dynamic_fc::tests::dynamic_fc_chain_len_set ... ok
[INFO] [stdout] test generic::techniques::dynamic_fc::tests::dynamic_fc_contradiction_subcase ... ok
[INFO] [stdout] test generic::techniques::dynamic_fc::tests::dynamic_fc_does_not_fire_on_easy ... ok
[INFO] [stdout] test generic::techniques::dynamic_fc::tests::dynamic_fc_no_op_on_solved_grid ... ok
[INFO] [stdout] test generic::techniques::dynamic_fc::tests::dynamic_fc_rated_technique_base_rating ... ok
[INFO] [stdout] test generic::techniques::dynamic_fc::tests::dynamic_fc_tier_and_id ... ok
[INFO] [stdout] test generic::techniques::fish::tests::jellyfish_fires_16x16 ... ok
[INFO] [stdout] test generic::techniques::fish::tests::jellyfish_returns_none_on_6x6_no_pattern_possible ... ok
[INFO] [stdout] test generic::techniques::fish::tests::swordfish_fires_9x9 ... ok
[INFO] [stdout] test generic::techniques::fish::tests::xwing_fires_12x12 ... ok
[INFO] [stdout] test generic::techniques::fish::tests::xwing_fires_9x9 ... ok
[INFO] [stdout] test generic::techniques::fish::tests::xwing_no_fire_empty_9x9 ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_c3_full_history_rejects ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_crfin6_c2_find_first_gbraid_no_gwhip_fire_on_empty ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_crfin6_c2_terminate_gbraid_accepts_partial_gbraid ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_crfin6_c2_terminate_gbraid_rejects_partial_braid - should panic ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_crfin6_c2_terminate_gbraid_rejects_partial_gwhip - should panic ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_crfin7_c2_find_first_gbraid_floor_at_3 ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_crfin7_c2_run_gbraid_pass_floor_at_3 ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_f3_gbraid_seeds_gwhip_crossfeed ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_f4_extend_plain_braids_full_history_csp ... ok
[INFO] [stdout] test generic::techniques::braid::tests::test_fx6_braid_no_stale_partials ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_fx2_gbraid_scratch_has_whip_fields ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_find_first_gbraid_fixture2_no_panic ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_fxr1_gbraid_pure_glink_check ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_fxr2_partial_gwhip_gbraid_cross_type_dedup ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_fxr3_gbraid_pass_uses_whip_prev_for_gwhip_extension ... ignored, TODO FX-R3 §12 Fixture: needs propagate_singles integration to construct a chain requiring partial-whip→partial-gwhip→partial-gbraid path; §12 Fixture row to be added when integration lands
[INFO] [stdout] test generic::techniques::gbraid::tests::test_fx3_terminate_gbraid_no_gcand_member_rejection ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_fxr6_find_first_gbraid_gwhip_whip_ordering ... ok
[INFO] [stdout] test generic::reverse_construct::tests::load_bearing_drops_tier_when_required_excluded ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_fxr8_m7_secondary_no_subset_keeps_both ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_gbraid1_direct_no_panic ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_gbraid_allows_llc_reuse ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_gbraid_dedup_is_set_based ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_k_max_0_returns_none ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_m7_strongest_guard ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_no_false_positive_solved ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_partial_gbraid1_seed_structure ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_run_gbraid_pass_smoke ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_scratch_reset ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_sub_rule_1_fires ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_sub_rule_2_fires ... ok
[INFO] [stdout] test generic::techniques::gwhip::tests::test_f5_gwhip_seed_dedup_after_semantic_check ... ok
[INFO] [stdout] test generic::techniques::gwhip::tests::test_f6_gwhip_sub_rule_2_no_overrestriction ... ok
[INFO] [stdout] test generic::techniques::gwhip::tests::test_find_first_gwhip_kmax_lt2 ... ok
[INFO] [stdout] test generic::techniques::gwhip::tests::test_gwhip_dedup_positional ... ok
[INFO] [stdout] test generic::techniques::gwhip::tests::test_gwhip_llc_no_reuse ... ok
[INFO] [stdout] test generic::techniques::gwhip::tests::test_gwhip_scratch_reset ... ok
[INFO] [stdout] test generic::techniques::gwhip::tests::test_no_false_positive_solved_grid ... ok
[INFO] [stdout] test generic::techniques::gwhip::tests::test_partial_gwhip1_llc_linked_to_target ... ok
[INFO] [stdout] test generic::techniques::gwhip::tests::test_partial_gwhip1_seed_has_gcand ... ok
[INFO] [stdout] test generic::techniques::gwhip::tests::test_run_gwhip_pass_b0_fixture ... ok
[INFO] [stdout] test generic::techniques::gwhip::tests::test_run_gwhip_pass_smoke ... ok
[INFO] [stdout] test generic::techniques::gwhip::tests::test_subsumption_guard_label_in_glabel ... ok
[INFO] [stdout] test generic::techniques::hidden_set::tests::hidden_pair_6x6 ... ok
[INFO] [stdout] test generic::techniques::hidden_set::tests::hidden_pair_9x9 ... ok
[INFO] [stdout] test generic::techniques::hidden_set::tests::hidden_quad_16x16 ... ok
[INFO] [stdout] test generic::techniques::hidden_set::tests::hidden_quad_6x6_empty_no_fire ... ok
[INFO] [stdout] test generic::techniques::hidden_set::tests::hidden_quad_9x9 ... ok
[INFO] [stdout] test generic::techniques::hidden_set::tests::hidden_triple_12x12 ... ok
[INFO] [stdout] test generic::techniques::hidden_set::tests::hidden_triple_6x6 ... ok
[INFO] [stdout] test generic::techniques::hidden_set::tests::hidden_triple_9x9 ... ok
[INFO] [stdout] test generic::techniques::hidden_set::tests::no_fire_on_empty_9x9 ... ok
[INFO] [stdout] test generic::techniques::locked::tests::claiming_fires_12x12 ... ok
[INFO] [stdout] test generic::techniques::locked::tests::claiming_fires_16x16 ... ok
[INFO] [stdout] test generic::techniques::locked::tests::claiming_fires_6x6 ... ok
[INFO] [stdout] test generic::techniques::locked::tests::claiming_fires_9x9_box_confinement ... ok
[INFO] [stdout] test generic::techniques::locked::tests::no_fire_on_empty_9x9 ... ok
[INFO] [stdout] test generic::techniques::locked::tests::pointing_fires_12x12 ... ok
[INFO] [stdout] test generic::techniques::locked::tests::pointing_fires_16x16 ... ok
[INFO] [stdout] test generic::techniques::locked::tests::pointing_fires_6x6 ... ok
[INFO] [stdout] test generic::techniques::locked::tests::pointing_fires_9x9_col_confinement ... ok
[INFO] [stdout] test generic::techniques::locked::tests::pointing_fires_9x9_row_confinement ... ok
[INFO] [stdout] test generic::techniques::naked_set::tests::naked_pair_6x6 ... ok
[INFO] [stdout] test generic::techniques::naked_set::tests::naked_pair_9x9 ... ok
[INFO] [stdout] test generic::techniques::naked_set::tests::naked_quad_16x16 ... ok
[INFO] [stdout] test generic::techniques::naked_set::tests::naked_quad_9x9 ... ok
[INFO] [stdout] test generic::techniques::naked_set::tests::naked_triple_12x12 ... ok
[INFO] [stdout] test generic::techniques::naked_set::tests::naked_triple_9x9 ... ok
[INFO] [stdout] test generic::techniques::naked_set::tests::no_fire_on_empty ... ok
[INFO] [stdout] test generic::techniques::nested_fc::tests::level_4_id_and_rating ... ok
[INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_chain_len_set ... ok
[INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_contradiction_subcase ... ok
[INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_does_not_fire_on_easy ... ok
[INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_l3_base_rating ... ok
[INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_l3_contradiction_subcase ... ok
[INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_l3_does_not_fire_on_easy ... ok
[INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_l3_id ... ok
[INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_l4_does_not_fire_on_solved ... ok
[INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_rated_technique_base_rating ... ok
[INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_tier_and_id ... ok
[INFO] [stdout] test generic::techniques::region_fc::tests::region_fc_contradiction_subcase ... ok
[INFO] [stdout] test generic::techniques::region_fc::tests::region_fc_does_not_fire_on_easy_puzzle ... ok
[INFO] [stdout] test generic::techniques::region_fc::tests::region_fc_fires_on_known_example ... ok
[INFO] [stdout] test generic::techniques::region_fc::tests::region_fc_rated_technique_base_rating ... ok
[INFO] [stdout] test generic::techniques::simple_coloring::tests::coloring_no_fire_empty_9x9 ... ok
[INFO] [stdout] test generic::techniques::simple_coloring::tests::coloring_smoke_12x12 ... ok
[INFO] [stdout] test generic::techniques::simple_coloring::tests::coloring_smoke_16x16 ... ok
[INFO] [stdout] test generic::techniques::simple_coloring::tests::coloring_smoke_6x6 ... ok
[INFO] [stdout] test generic::techniques::skyscraper::tests::skyscraper_fires_canonical_9x9 ... ok
[INFO] [stdout] test generic::techniques::skyscraper::tests::skyscraper_no_fire_empty_9x9 ... ok
[INFO] [stdout] test generic::techniques::skyscraper::tests::skyscraper_smoke_12x12 ... ok
[INFO] [stdout] test generic::techniques::skyscraper::tests::skyscraper_smoke_16x16 ... ok
[INFO] [stdout] test generic::techniques::skyscraper::tests::skyscraper_smoke_6x6 ... ok
[INFO] [stdout] test generic::techniques::two_string_kite::tests::t2k_fires_canonical_9x9 ... ok
[INFO] [stdout] test generic::techniques::two_string_kite::tests::t2k_no_fire_empty_9x9 ... ok
[INFO] [stdout] test generic::techniques::two_string_kite::tests::t2k_smoke_12x12 ... ok
[INFO] [stdout] test generic::techniques::two_string_kite::tests::t2k_smoke_16x16 ... ok
[INFO] [stdout] test generic::techniques::two_string_kite::tests::t2k_smoke_6x6 ... ok
[INFO] [stdout] test generic::techniques::unique_rect::tests::ur_class_b_fires_12x12 ... ok
[INFO] [stdout] test generic::techniques::unique_rect::tests::ur_no_fire_on_empty_9x9 ... ok
[INFO] [stdout] test generic::techniques::unique_rect::tests::ur_type1_fires_12x12 ... ok
[INFO] [stdout] test generic::techniques::unique_rect::tests::ur_type1_fires_16x16 ... ok
[INFO] [stdout] test generic::techniques::unique_rect::tests::ur_type1_fires_9x9 ... ok
[INFO] [stdout] test generic::techniques::unique_rect::tests::ur_type2_fires_12x12 ... ok
[INFO] [stdout] test generic::techniques::unique_rect::tests::ur_type2_fires_9x9 ... ok
[INFO] [stdout] test generic::techniques::unique_rect::tests::ur_type_ids_are_distinct ... ok
[INFO] [stdout] test generic::techniques::whip::tests::test_eliminate_candidate_cascades ... ok
[INFO] [stdout] test generic::techniques::whip::tests::test_f1_whip_seed_tries_all_slots ... ok
[INFO] [stdout] test generic::techniques::whip::tests::test_find_first_whip_fixture2_no_panic ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_fxr7_find_first_gbraid_cross_type_dedup_consistency ... ok
[INFO] [stdout] test generic::techniques::whip::tests::test_fxr1_no_self_membership_in_killed_check ... ok
[INFO] [stdout] test generic::techniques::whip::tests::test_k_max_bound ... ok
[INFO] [stdout] test generic::techniques::whip::tests::test_no_false_positive_solved ... ok
[INFO] [stdout] test generic::techniques::whip::tests::test_fx6_no_duplicate_eliminations ... ok
[INFO] [stdout] test generic::techniques::whip::tests::test_partial_whip1_seed_structure ... ok
[INFO] [stdout] test generic::techniques::whip::tests::test_scratch_reset ... ok
[INFO] [stdout] test generic::techniques::whip::tests::test_whip1_direct_fixture1 ... ok
[INFO] [stdout] test generic::techniques::whip::tests::test_whip_dedup_positional ... ok
[INFO] [stdout] test generic::techniques::xy_wing::tests::xy_wing_fires_12x12 ... ok
[INFO] [stdout] test generic::techniques::xy_wing::tests::xy_wing_fires_16x16 ... ok
[INFO] [stdout] test generic::techniques::xy_wing::tests::xy_wing_fires_9x9 ... ok
[INFO] [stdout] test generic::techniques::xy_wing::tests::xy_wing_idempotent_after_fire ... ok
[INFO] [stdout] test generic::techniques::xy_wing::tests::xy_wing_no_fire_empty_9x9 ... ok
[INFO] [stdout] test generic::techniques::xyz_wing::tests::xyz_wing_fires_canonical_9x9 ... ok
[INFO] [stdout] test generic::techniques::xyz_wing::tests::xyz_wing_no_fire_empty_9x9 ... ok
[INFO] [stdout] test generic::techniques::xyz_wing::tests::xyz_wing_smoke_12x12 ... ok
[INFO] [stdout] test generic::techniques::xyz_wing::tests::xyz_wing_smoke_16x16 ... ok
[INFO] [stdout] test generic::techniques::xyz_wing::tests::xyz_wing_smoke_6x6 ... ok
[INFO] [stdout] test generic::techniques::whip::tests::test_run_whip_pass_smoke ... ok
[INFO] [stdout] test generic::ur_type2_reverse::tests::batch_smoke_terminates ... ok
[INFO] [stdout] test generic::ur_type2_reverse::tests::load_bearing_strict_semantics ... ok
[INFO] [stdout] test generic::ur_type2_reverse::tests::smoke_12x12_ur_type2 ... ok
[INFO] [stdout] test generic::ur_type2_reverse::tests::determinism_same_seed_same_puzzle ... ok
[INFO] [stdout] test generic::ur_type2_reverse::tests::ur_type2_dryrun_mirrors_production ... ok
[INFO] [stdout] test generic::ur_type2_reverse::tests::ur_type2_rejects_invalid_rectangles ... ok
[INFO] [stdout] test generic::ur_type2_reverse::tests::validate_t1_t2_rejected ... ok
[INFO] [stdout] test generic::vicinity::tests::mutate_1_produces_different_puzzle ... ok
[INFO] [stdout] test generic::vicinity::tests::vicinity_dedup_via_canonical_hash ... ok
[INFO] [stdout] test generic::vicinity::tests::vicinity_explore_smoke ... ok
[INFO] [stdout] test generic_writer_helpers::tests::atomic_write_does_not_clobber_on_writer_failure ... ok
[INFO] [stdout] test generic_writer_helpers::tests::atomic_write_leaves_no_tmp_on_success ... ok
[INFO] [stdout] test generic_writer_helpers::tests::manifest_path_alongside_parquet ... ok
[INFO] [stdout] test generic_writer_helpers::tests::manifest_round_trips_as_valid_json ... ok
[INFO] [stdout] test generic_writer_helpers::tests::ordered_buffer_drains_in_index_order ... ok
[INFO] [stdout] test generic_writer_helpers::tests::ordered_buffer_handles_gaps_in_finish ... ok
[INFO] [stdout] test generic_writer_helpers::tests::ordered_buffer_pending_decreases_on_contiguous_arrival ... ok
[INFO] [stdout] test io::ordered::tests::drains_in_order_under_random_submission ... ok
[INFO] [stdout] test io::ordered::tests::pending_decreases_on_contiguous_arrival ... ok
[INFO] [stdout] test io::source::tests::empty_yields_none ... ok
[INFO] [stdout] test io::source::tests::parses_16x16_hex_digits ... ok
[INFO] [stdout] test io::source::tests::rejects_line_exceeding_2nn ... ok
[INFO] [stdout] test io::source::tests::rejects_short_line ... ok
[INFO] [stdout] test io::source::tests::single_line_9x9 ... ok
[INFO] [stdout] test io::source::tests::skips_blank_and_comment ... ok
[INFO] [stdout] test pipeline_writer_generic::tests::end_to_end_6x6_t1_writes_parquet ... ok
[INFO] [stdout] test pipeline_writer_generic::tests::end_to_end_9x9_t1_writes_parquet ... ok
[INFO] [stdout] test pipeline_writer_generic::tests::parquet_has_size_column ... ok
[INFO] [stdout] test pipeline_writer_generic::tests::parse_clue_range_ok ... ok
[INFO] [stdout] test pipeline_writer_generic::tests::parse_clue_range_rejects_swapped ... ok
[INFO] [stdout] test pipeline_writer_generic::tests::parse_size_ok ... ok
[INFO] [stdout] test pipeline_writer_generic::tests::parse_size_rejects_bad_block ... ok
[INFO] [stdout] test pipeline_writer_generic::tests::parse_size_rejects_legacy_NxN_form ... ok
[INFO] [stdout] test pipeline_writer_generic::tests::parse_size_rejects_unsupported_size ... ok
[INFO] [stdout] test pipeline_writer_generic::tests::parse_tier_ok ... ok
[INFO] [stdout] test rerate_generic::tests::rerate_mode_solve_skips_cascade ... ok
[INFO] [stdout] test generic::techniques::gbraid::tests::test_fxr6_gbraid_pass_gwhip_whip_ordering ... ok
[INFO] [stdout] test rerate_generic::tests::round_trip_16x16_t1 ... ok
[INFO] [stdout] test rerate_generic::tests::round_trip_9x9_t1 ... ok
[INFO] [stdout] test rerate_generic::tests::text_input_9x9 ... ok
[INFO] [stdout] test shc::braid_engine_tests::berthier_b1_rates_b1 ... ok
[INFO] [stdout] test rerate_generic::tests::text_input_16x16_alphabet ... ok
[INFO] [stdout] test shc::braid_engine_tests::berthier_b5_7_corpus_all_30 ... FAILED
[INFO] [stdout] test generic::ur_type2_reverse::tests::smoke_9x9_ur_type2 ... ok
[INFO] [stdout] test shc::braid_engine_tests::berthier_b5_rates_b5 ... ok
[INFO] [stdout] test shc::braid_engine_tests::easy_rates_b0 ... ok
[INFO] [stdout] test shc::te::tests::bxb_on_easy_is_zero ... ok
[INFO] [stdout] test shc::braid_engine_tests::berthier_b6_rates_b6 ... ok
[INFO] [stdout] test shc::te::tests::te_depth_one_on_berthier_b5 ... ok
[INFO] [stdout] test shc::te::tests::te_depth_zero_on_easy_singles ... ok
[INFO] [stdout] test shc::tests::bad_char_rejected ... ok
[INFO] [stdout] test shc::tests::bad_length_rejected ... ok
[INFO] [stdout] test shc::tests::berthier_is_unique ... ok
[INFO] [stdout] test shc::tests::contradiction_detected_on_duplicate_in_row ... ok
[INFO] [stdout] test shc::tests::easy_solves_with_singles ... ok
[INFO] [stdout] test shc::tests::roundtrip_81_chars ... ok
[INFO] [stdout] test shc::tests::tb_l1_does_no_harm_on_easy ... ok
[INFO] [stdout] test shc::tridagon::tests::test_box_of ... ok
[INFO] [stdout] test shc::tridagon::tests::test_box_transversal_known ... ok
[INFO] [stdout] test shc::tridagon::tests::test_detect_tridagons_on_real_grid ... ok
[INFO] [stdout] test shc::tridagon::tests::test_detect_tridagons_runs ... ok
[INFO] [stdout] test shc::tridagon::tests::test_eleven_replace_preserves_dots ... ok
[INFO] [stdout] test shc::tridagon::tests::test_eleven_replace_relabels_correctly ... ok
[INFO] [stdout] test shc::tridagon::tests::test_perm3_sign_basic ... ok
[INFO] [stdout] test shc::ua::tests::test_3digit_cycle_detection ... ok
[INFO] [stdout] test shc::ua::tests::test_3digit_non_ua_rejected ... ok
[INFO] [stdout] test shc::ua::tests::test_combined_enumerator_yields_more ... ok
[INFO] [stdout] test shc::ua::tests::test_construct_from_known_grid ... ok
[INFO] [stdout] test shc::ua::tests::test_construct_full_pipeline_smoke ... ok
[INFO] [stdout] test shc::ua::tests::test_deadly_rectangle_is_ua ... ok
[INFO] [stdout] test shc::ua::tests::test_greedy_covers_all_uas ... ok
[INFO] [stdout] test shc::ua::tests::test_non_ua_returns_false ... ok
[INFO] [stdout] test shc::braid_engine_tests::berthier_b7_rates_b7 has been running for over 60 seconds
[INFO] [stdout] test generic::nested_aic_reverse::tests::preemption_masking_blocks_short_aic_bypass ... ok
[INFO] [stdout] test shc::te::tests::bxb_solves_forum_hardest_first has been running for over 60 seconds
[INFO] [stdout] test generic::reverse_construct::tests::per_tech_smoke_9x9_terminates_within_budget ... ok
[INFO] [stdout] test generic::generator_constrained::tests::t4plus_9x9_100_puzzles ... ok
[INFO] [stdout] test shc::braid_engine_tests::berthier_b7_rates_b7 ... ok
[INFO] [stdout] test shc::te::tests::bxb_solves_forum_hardest_first ... ok
[ERROR] error running command: command timed out after 900 seconds
[INFO] running `Command { std: "docker" "inspect" "59db7032a07a6235bd9ad54b8819716bf8c9d615b80de87bc24cfcea433500e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "59db7032a07a6235bd9ad54b8819716bf8c9d615b80de87bc24cfcea433500e4", kill_on_drop: false }`
[INFO] [stdout] 59db7032a07a6235bd9ad54b8819716bf8c9d615b80de87bc24cfcea433500e4
